Jump To:
Technical Q&As: Device Drivers
Mass storage devices run the gamut from the fastest read/write peripheral disk drives to sequential-access tape drives. Mac OS X provides a layered mass storage driver stack that has built-in support for common industry-standard devices. Developers can use the BSD interface and the I/O Kit (Apple's object-oriented driver development framework) to access storage devices and their media at different layers of the stack.

Document Descriptions
On Off
Display

Sort by
Title
Sorted by
Date
Generating an NMI Without a Programmer's Switch (HTML) ()
QA1264: Explains how to generate a non-maskable interrupt (NMI) on CPUs without programmer's switches.
2004-04-26
Installing an I/O Kit KEXT Without Rebooting (HTML)
QA1319: Describes the state of the art of installing I/O Kit kernel extensions (KEXTs) without requiring a restart.
2003-10-28
Mapping kernel memory to user space on Mac OS X 10.2 (HTML) ()
QA1197: Describes a change to mapping kernel memory to user space affecting Mac OS X 10.2 and later.
2002-09-13
SCSIAction and IOSCSIUserClient on Mac OS X 10.2 (HTML) ()
QA1201: Describes migrating to a new API for SCSI Parallel devices starting with Mac OS X 10.2.
2002-09-13
Retain Counts of io_object_t Objects in IOKit.framework (HTML) ()
QA1195: Distinguishes between the retain counts of an I/O Kit kernel object and its io_object_t user space proxy.
2002-09-04
Sending SCSI commands to storage devices (HTML) ()
QA1179: Explains that Mac OS X does not implement SCSI pass-through for many mass storage devices.
2002-08-06
IODeviceTree & the IORegistry (HTML) ()
QA1120: Describes the IODeviceTree plane in the Mac OS X IORegistry.
2002-02-13
Power Management; Policy Maker vs. Power Controller (HTML) ()
QA1121: Describes the differences between a Power Management Policy Maker and a Power Management Power Controller.
2002-02-13
IOKit Framework Headers (HTML) ()
QA1107: Describes the differences between the headers in IOKit.framework and the I/O Kit headers in Kernel.framework.
2002-01-15
Adding dependencies with kmodload (HTML)
QA1097: Illustrates how to specify dependencies when using kmodload.
2001-12-05
The dreaded "incompatible flag -framework" error (HTML)
QA1096: Explains how to eliminate the incompatible flag -framework error in Project Builder.
2001-12-05
Open Firmware and the devalias node (HTML)
HW95: Describes why the contents of the Open Firmware devalias node varies between Macintosh models.
2000-09-05
The "packages" node in the device tree (HTML)
HW90: Describes the "packages" node in the Open Firmware device tree.
2000-09-05
Is the Open Firmware device tree object oriented? (HTML)
HW80: Discusses the object-oriented attributes of the Open Firmware device tree.
1999-11-15
Which Machines Support Driver Services Library and the MP Nanokernel? (HTML) ()
HW63: Lists the systems that do and don't support the Driver Services Library and the MP Nanokernel.
1999-07-12
Expansion ROM device properties (HTML) ()
HW50: Describes the Open Firmware properties that should be included in a boot device's expansion ROM.
1999-03-29
Getting started with Forth (HTML) ()
HW53: Describes where FCode driver developers can get information about the Forth programming language.
1999-03-29
Booting after invoking the Open Firmware user interface (HTML) ()
HW48: Tells how to boot a system after entering the Open Firmware user interface.
1999-02-15
SCSI ID from vRefNum (HTML) ()
DV29: Legacy Mac OS technique for identifying the ID of a SCSI Parallel device containing a specified disk volume.
1997-05-23
Detecting a CD-ROM (HTML) ()
DV18: Demonstrates CD-ROM drive detection.
1997-01-31
ANSI SCSI Standards (HTML)
Deprecated - DV03: Describes past Macintosh systems that did not fully support the ANSI SCSI-1 standard.
1995-07-01
Getting a List of Drivers & LUNs (logical unit numbers) (HTML)
Deprecated - DV04: Describes a legacy Mac OS technique for obtaining a list of SCSI Parallel drivers, devices, and LUNs.
1995-07-01